home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / gnu / m4-1_0_3.lha / m4-1.0.3 / ChangeLog < prev    next >
Text File  |  1992-12-19  |  15KB  |  414 lines

  1. Sat Dec 19 08:21:34 1992  Francois Pinard  (pinard at icule)
  2.  
  3.     * Version 1.0.3 released to <prep.ai.mit.edu>.  This is still a
  4.     beta release for the future GNU m4 version 1.1.
  5.  
  6.     * lib/alloca.c: New, from elsewhere.
  7.     * lib/Makefile.in: Distribute it.  Define and use $(ALLOCA).
  8.  
  9.     * m4.h: Do not define index/rindex if already defined.  If
  10.     FALSE/TRUE are already defined, do not redefine them, but merely
  11.     define boolean typedef to int.
  12.  
  13.     * Makefile.in: Use $(DEFS) while compiling ansi2knr.
  14.     * ansi2knr.c: Rewrite #ifdef HAVE_STRING_H || STDC_HEADERS,
  15.     because some C compilers do not like connectives with #ifdef.
  16.     * m4.h: Define `volatile' only if __GNUC__, instead of once for
  17.     __GNUC__ and once for __STDC__.
  18.     * lib/regex.h: Leave const alone, AC_CONST will take care of it.
  19.  
  20.     * checks/Makefile.in: Use .all_stamp instead of $(CHECKS) for
  21.     Makefile dependencies.  Without it, make keeps destroying and
  22.     remaking $(CHECKS) in a loop (why?).  Distribute .all_stamp.
  23.  
  24.     * m4.h, m4.c, builtin.c, output.c: Change all divertion/DIVERTION
  25.     to diversion/DIVERSION, this was a spelling error.
  26.  
  27.     * m4.c: Declare version[], remove #include "version.h".
  28.     * version.h: Deleted.
  29.     * Makefile.in: Remove references to version.h.
  30.  
  31.     * output.c (shipout_text): Centralize all `#line NUM ["FILE"]'
  32.     production, by using a simpler and more robust algorithm.  This
  33.     solves the problem of synclines sometimes written in the middle of
  34.     an output line.  Delete sync_line() and output_lines variable.
  35.     * m4.h: Remove sync_line prototype and output_lines declaration.
  36.     * input.c (next_char), output.c (shipout_text): Remove references
  37.     to output_lines.
  38.     * input.c (push_file, pop_file): Merely put the value -1 in
  39.     output_current_line instead of calling sync_line, for delaying a
  40.     single `#line NUM FILE' before next output line.  Do not test
  41.     for sync_output, because this is unnecessary clutter.
  42.     * output.c (make_divertion, insert_divertion): Idem.
  43.     * input.c: Rename must_advance_line to start_of_input_line, for
  44.     consistency.
  45.  
  46.     * debug.c (trace_header): Select a new debug line format, which
  47.     better complies with GNU standards for formatting error messages.
  48.     With option `-dfl', M-x next-error might be used on the output.
  49.     * m4.c (vmesg): Adjust format of error output to GNU standards.
  50.     * m4.texinfo: Adjust examples for `make check' to work.
  51.  
  52.     * m4.h, builtin.c, debug.c, input.c, macro.c, path.c: Use upper
  53.     case for enum debug_info constants, which were all lower case.
  54.  
  55.     * builtin.c (m4_regexp, m4_patsubst): Use re_search instead of
  56.     re_search_2.
  57.     * lib/regex.[ch]: Use new version from textutils 1.3.6, with some
  58.     collected patches.  I tried a few times using newer regex.[ch], it
  59.     mysteriously stopped aborting with this one.  Insecure feeling...
  60.     * lib/Makefile.in: Distribute regex.[ch].old, just in case!
  61.  
  62. Fri Dec 18 11:08:03 1992  Francois Pinard  (pinard at icule)
  63.  
  64.     From David MacKenzie <djm@eng.umd.edu>:
  65.     * m4.c: Change `--no-warnings' to `--silent'.
  66.  
  67.     From David MacKenzie <djm@eng.umd.edu>:
  68.     * m4.c: Put all M4OPTS code upon IMPLEMENT_M4OPTS control, and
  69.     leave it off for now.  See comment in m4.c for justification.
  70.  
  71.     * configure.in: Replace AC_USG by AC_HAVE_HEADERS(string.h).
  72.     * m4.h, ansi2knr.c, lib/regex.h: Replace USG by HAVE_STRING_H.
  73.  
  74.     * Makefile.in: Add a new `info' goal.  Use macro MAKEINFO.
  75.  
  76.     * Makefile.in: Ensure recursive cleaning is done before local
  77.     cleaning for all clean goals.
  78.  
  79.     * builtin.c (ntoa): Ensure the value is always interpreted as a
  80.     signed quantity, whatever the radix is.
  81.  
  82. Wed Nov 18 07:57:19 1992  Jim Meyering  (meyering@idefix)
  83.  
  84.     * builtin.c, format.c, input.c: Split long lines.
  85.     * m4.c: Use typedef macro_definition instead of struct
  86.     macro_definition.
  87.     * symtab.c: Use typedef symbol instead of struct symbol.
  88.  
  89. Tue Nov 17 01:58:40 1992  Francois Pinard  (pinard at icule)
  90.  
  91.     * all: Remove all trailing whitespace, in code and comments.
  92.  
  93.     * configure.in: Find some awk.
  94.     * Makefile.in: Add $(AWK) to MDEFINES.
  95.     * checks/Makefile.in: Transmit $(AWK) to get_them.
  96.     * checks/get_them: Use $AWK instead of gawk.  Add a close in the
  97.     awk script when switching files, because without this, mawk runs
  98.     out of file descriptors.
  99.  
  100. Mon Nov 16 20:42:56 1992  Francois Pinard  (pinard at icule)
  101.  
  102.     From Jim Meyering <meyering@cs.utexas.edu>:
  103.     * Makefile.in (realclean): Delete m4.info*.
  104.  
  105.     * Makefile.in: Adjust and link with checks/Makefile.
  106.     * checks/Makefile.in: New.
  107.     * configure.in: Output checks/Makefile.
  108.  
  109.     * checks/get_them: Have the dnl header of each test more
  110.     recognizable by next-error, also use a better message.
  111.  
  112. Mon Nov 16 07:48:52 1992  Jim Meyering  (meyering@idefix)
  113.  
  114.         * m4.h [__GNUC__]: Use __volatile__ instead of `volatile.'
  115.         And use that only if __GNUC__ since we're using it's GCC-specific
  116.         semantics that tell the compiler the associated function doesn't
  117.         return.
  118.  
  119.         * builtin.c (substitute): Don't use character as an array index.
  120.         (dumpdef_cmp): Make formal arguments `const void *' to avoid
  121.         warnings with gcc -W -Wall on systems with qsort prototype.
  122.         (m4_errprint): Cast obstack_finish to `char *' to avoid warnings
  123.         from gcc -W -Wall.
  124.  
  125.         * eval.c (most functions): Add parentheses to assignments used
  126.         as truth values go avoid warnings from gcc -Wall.
  127.  
  128.     * input.c, m4.c, output.c, path.c, symtab.c: Declare static
  129.     any functions that don't need external scope.
  130.  
  131.     * builtin.c, debug.c, format.c, m4.c, m4.h, macro.c, symtab.c
  132.     (many functions and arrays): Declare `const.'
  133.  
  134. Sun Nov 15 09:42:09 1992  Francois Pinard  (pinard at icule)
  135.  
  136.     * all: Rename nil to NULL, using the declaration from <stdio.h>,
  137.     removing the declaration from m4.h.  Also rename false to FALSE
  138.     and true to TRUE.
  139.  
  140.     * lib/Makefile.in (Makefile): New goal.
  141.  
  142.     From Jim Meyering <meyering@cs.utexas.edu>:
  143.     * Makefile.in, lib/Makefile.in: Add a .c.o rule, so CFLAGS is not
  144.     so heavily loaded.  It gets more easily overridable, calling make.
  145.  
  146.     * Makefile.in (dist): Get .fname from the current directory name,
  147.     instead of from version.h.  I need updating many files manually,
  148.     when the version changes, version.h is just one of them.
  149.  
  150. Sat Nov 14 11:01:20 1992  Francois Pinard  (pinard at icule)
  151.  
  152.     From Tom McConnell <tmcconne@sedona.intel.com>:
  153.     * m4.h: Remove the tag `boolean' on the enum introducing typedef
  154.     `boolean'.  This tag conflicts with <sys/types.h> on SVR4.
  155.  
  156. Fri Nov 13 00:12:50 1992  Francois Pinard  (pinard at icule)
  157.  
  158.     * m4.texinfo: Correct the examples for 33.divert, 38.divnum,
  159.     39.cleardiv, which were describing missing or spurious newlines.
  160.     Modify examples 52.eval, 53.esyscmd and 54.sysval so the results
  161.     do not depend on machine word size, `/bin/false' implementation,
  162.     or `wc' output format.  `make check' is more dependable, now.
  163.  
  164.     * checks/check_them: Summarize the failed tests by listing their
  165.     name, at end.  If none, issue `All checks successful'.  Output
  166.     `Checking' instead of `Input file:'.
  167.  
  168.     * checks/get_them, checks/check_them: Reindented.
  169.  
  170.     * Makefile.in (dist): chmod a+r before making the tar file.
  171.  
  172. Thu Nov 12 14:42:57 1992  Francois Pinard  (pinard at icule)
  173.  
  174.     * builtin.c (m4_dnl): Diagnose any parameter to `dnl'.
  175.  
  176.     * input.c (next_token): Reinitialize token_buttom just after using
  177.     it as a watermark with obstack_free.  Or else, a future token, big
  178.     enough for triggering reallocation of the obstack chunk, could
  179.     void the initialized value of token_buttom, later causing panic in
  180.     obstack_free.  Rename token_buttom to token_bottom everywhere.
  181.  
  182.     From Richard Stallman <rms@prep.ai.mit.edu>:
  183.     * m4.h: Before declaring errno, first include <errno.h> and
  184.     ensure that it does not define errno.
  185.  
  186. Wed Nov 11 17:40:35 1992  Francois Pinard  (pinard at icule)
  187.  
  188.     * builtin.c: Define and use DECLARE macro for builtins.
  189.  
  190.     * builtin.c (m4_ifelse): Avoid any diagnostic when exactly one
  191.     argument, this is a common idiom for introducing long comments.
  192.  
  193.     * builtin.c (m4_ifelse): If 3n + 2 arguments, diagnose missing
  194.     arguments.  The last argument was silently ignored.
  195.  
  196.     * m4.c (cmd_error): Add a missing semicolon before va_end().
  197.  
  198. Tue Nov 10 08:57:05 1992  Francois Pinard  (pinard at icule)
  199.  
  200.     * Makefile.in: Now handle protoized sources.  Define and use U.
  201.     Compile and use ansi2knr with old compilers.  Update DISTFILES.
  202.     Add `aclocal.m4' to `configure' dependencies.
  203.     * ansi2knr.c: New, from Ghostscript distribution.
  204.     * configure.in: Define U through FP_PROTOTYPES for old compilers.
  205.     Add AC_ISC_POSIX, AC_CONST, AC_SIZE_T.
  206.     * aclocal.m4: New, provide FP_PROTOTYPES.
  207.     * m4.h: Conditionnaly protoized through Args, save for varags.
  208.     * builtin.c: Protoized.  Then:
  209.     Include <sys/types.h> if size_t is not defined, before "regex.h".
  210.     (m4_ifelse): Fetch built-in name properly for diagnostic.
  211.     (m4_dumpdef): Remove wrong (char *) cast calling dump_symbol.
  212.     (m4_regexp): Add const to `msg' declaration.
  213.     (m4_patsubst): Add const to `msg' declaration.
  214.     * debug.c: Protoized, save for varargs.
  215.     * eval.c: Protoized.
  216.     * format.c: Protoized.
  217.     * input.c: Protoized.
  218.     * m4.c: Protoized, save for varargs.  Then:
  219.     (xfree): Accept void * instead of char *.
  220.     (xmalloc): Return void * instead of char *.
  221.     (xrealloc): Accept and return void * instead of char *.
  222.     * macro.c: Protoized.
  223.     * output.c: Protoized.
  224.     * path.c: Protoized.  Then cast some (char *) over xmalloc's.
  225.     * symtab.c: Protoized.
  226.  
  227. Fri Nov  6 02:05:21 1992  Francois Pinard  (pinard at icule)
  228.  
  229.     * m4.texinfo: Remove directory from diagnostics in 30.include,
  230.     51.eval, 56.errprint and 57.m4exit tests.
  231.  
  232.     * m4.h: Remove declarations for int or void system functions, they
  233.     cause more conflicting trouble than they make good.
  234.  
  235.     * configure.in: Avoid configuration header file.  Add some tests.
  236.     * m4.h: Remove #include "config.h".
  237.     * Makefile.in, lib/Makefile.in: Implement Autoconf interface.
  238.     Then, rewritten for better compliance with GNU standards.
  239.  
  240. Thu Nov  5 12:37:13 1992  Francois Pinard  (pinard at icule)
  241.  
  242.     * format.c (format): Avoid syntax error if not HAVE_EFGCVT,
  243.     because of a misplaced #endif.
  244.  
  245.     * Many *.[hc] files: Correct intra-line spacing here and there,
  246.     according to GNU indent 1.6 advice.
  247.     
  248.     From Jason Merrill <jason@jarthur.claremont.edu>:
  249.     * configure.in: New, using Autoconf 1.2.
  250.     * m4.h: Reverse NO_MEMORY_H to NEED_MEMORY_H.
  251.     * Delete old configure.in, configure, etc/configure.in,
  252.     etc/configure, lib/configure.in, lib/configure and config/*.
  253.  
  254.     From Jason Merrill <jason@jarthur.claremont.edu>:
  255.     * symtab.c (hash): Change (char) NULL to '\0'.
  256.  
  257.     * Delete .vers, etc/newdist.sh, etc/newvers.sh and
  258.     etc/nextvers.sh.  Version numbers will be edited `by hand'.
  259.     * version.h: De-automatize, force value in.
  260.  
  261.     From David MacKenzie <djm@eng.umd.edu>:
  262.     * m4.c: Changes in order to use a newer getopt.h.
  263.  
  264.     * checks/: New name for examples/.
  265.     * checks/get_them: New location for etc/get_examples.
  266.     * checks/check_them: New location for etc/check_examples.
  267.     * Makefile.in, checks/get_them, checks/check_them: Adjust.
  268.     * lib/vfprintf.c: New location for etc/vfprintf.c.
  269.     * Delete empty etc/.
  270.     * examples/: New name for test/.
  271.  
  272. Tue Mar 10 00:29:46 1992  Francois Pinard  (pinard at icule)
  273.  
  274.     * Makefile.in (check): Add m4 as dependency.
  275.  
  276.     From David Mackenzie <djm@eng.umd.edu>:
  277.     * m4.c: Accept --no-warnings instead of --no_warnings, and
  278.     --no-gnu-extensions instead of --no_gnu_extensions.  Make the
  279.     usage message more informative.
  280.  
  281. Mon Mar  9 14:53:40 1992  Francois Pinard  (pinard at icule)
  282.  
  283.     * etc/check_examples: New name for check_examples.sh.
  284.     * etc/get_examples: New name for get_examples.sh.
  285.     * Makefile.in, etc/Makefile.in: Use new names.
  286.  
  287.     * Makefile.in: Transmit $(CC) while making in lib.
  288.  
  289.     * Many *.[hc] files: GNU indent'ed, with further fine tuning of
  290.     code disposition by hand.
  291.  
  292. Sun Mar  8 11:01:55 1992  Francois Pinard  (pinard at icule)
  293.  
  294.     From Richard Stallman <rms@prep.ai.mit.edu>:
  295.     * m4.h: Delete definitions for abort() and exit().
  296.  
  297.     From Hal Peterson <hrp@cray.com>:
  298.     * config/hmake-unicos, config/s-unicos.h: New files.
  299.  
  300.     From Michael Fetterman <mafetter@ichips.intel.com>:
  301.     * eval.c (exp_term): Have N^0 return 1.
  302.  
  303.     From Mike Lijewski <lijewski@theory.tc.cornell.edu>:
  304.     * eval.c, input.c, m4.h: Remove last comma in enums.
  305.  
  306.     * Transfer of maintenance duties from Rene' to Franc,ois.
  307.  
  308. Thu Oct 24 15:18:46 1991  Rene' Seindal (seindal at diku.dk)
  309.  
  310.     * Version 1.0.  Many thanks to those, who provided me with bug
  311.     reports and feedback.
  312.  
  313.     * Uses GNU configure, taken from the gdb distribution.
  314.  
  315.     * Uses GNU getopt(), with long option names.
  316.  
  317.     * The -Q/+quiet option is added, which suppresses warnings about
  318.     missing or superflous arguments to built-in macros.
  319.  
  320.     * Added default options via the M4OPTS environment variable.
  321.  
  322.     * The built-in format can now be configured to use sprintf as
  323.     the formatting engine, for systems without [efg]cvt(3).
  324.  
  325.     * GNU library code is moved to the ./lib subdirectory; other
  326.     utility files are now in ./etc.
  327.  
  328.     * Several minor bugs have been fixed.
  329.  
  330. Fri Jul 26 15:28:42 1991  Rene' Seindal (seindal at diku.dk)
  331.  
  332.     * Fixed various bugs.  Version 0.99, manual 0.09.  Many thanks to
  333.     Francois Pinard <pinard@iro.umontreal.ca> and Roland H. Pesch
  334.     <pesh@cygnus.com> for providing me with reports.
  335.  
  336.     * The builtins incr and decr are now implemented without use of
  337.     eval.
  338.  
  339.     * The builtin indir is added, to allow for indirect macro calls
  340.     (allows use of "illegal" macro names).
  341.  
  342.     * The debugging and tracing facilities has been enhanced
  343.     considerably.  See the manual for details.
  344.  
  345.     * The -tMACRO option is added, marks MACRO for tracing as soon
  346.     as it is defined.
  347.  
  348.     * Builtins are traced after renaming iff they were before.
  349.  
  350.     * Named files can now be undiverted.
  351.  
  352.     * The -Nnum option can be used to increase the number of
  353.     divertions available.
  354.  
  355.     * Calling changecom without arguments now disables all comment
  356.     handling.
  357.  
  358.     * The function m4_patsubst() is now consistently declared
  359.     static.
  360.  
  361.     * A bug in dnl is fixed.
  362.  
  363.     * A bug in the multi-character quoting code is fixed.
  364.  
  365.     * Several typos in the manual has been corrected.  More probably
  366.     persist.
  367.  
  368.     * The m4.info file is now installed along with the program.
  369.  
  370. Thu Nov 15 21:51:06 1990  Rene' Seindal (seindal at diku.dk)
  371.  
  372.     * Updated and enhanced version.  Version 0.75, manual 0.07.
  373.  
  374.     * Implemented search path for include files (-I option and
  375.     M4PATH envronment variable).
  376.  
  377.     * Implemented builtin "format" for printf-like formatting.
  378.  
  379.     * Implemented builtin "regexp" for searching for regular
  380.     expressions.
  381.  
  382.     * Implemented builtin "patsubst" for substitution with regular
  383.     expressions.
  384.  
  385.     * Implemented builtin "esyscmd", which expands to a shell
  386.     commands output.
  387.  
  388.     * Implemented "__file__" and "__line__" for use in error
  389.     messages.
  390.  
  391.     * Implemented character ranges in "translit".
  392.  
  393.     * Implemented control over debugging output.
  394.  
  395.     * Implemented multi-character quotes.
  396.  
  397.     * Implemented multi-character comment delimiters.
  398.  
  399.     * Changed predefined macro "gnu" to "__gnu__".
  400.  
  401.     * Changed predefined macro "unix" to "__unix__", when the -G
  402.     option is not used.  With -G, "unix" is still defined.
  403.  
  404.     * Changed "shift", "$@" and "$*" to not insert spaces afters
  405.     commas.
  406.  
  407.     * Added program name to error messages.
  408.  
  409.     * Fixed two missing null bytes bugs.
  410.  
  411. Mon Jan 22 21:08:52 1990  Rene' Seindal (seindal at diku.dk)
  412.  
  413.     * Initial beta release.  Version 0.50, manual 0.05.
  414.